home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / DB_CLIPP / 2510.ZIP / TRSOURCE.EXE / _TR_HEXP.ASM < prev    next >
Assembly Source File  |  1990-10-22  |  1KB  |  56 lines

  1. ; __TR_HEXP.ASM
  2. ;
  3. ; by Ralph Davis, Leonard Zerman
  4. ;
  5. ; Placed in the public domain by Tom Rettig Associates, 10/22/1990.
  6. ;
  7.  
  8.          PUBLIC   __TR_HEXPRINT
  9.  
  10. ;*************************************
  11. _TR_HEXP_TEXT SEGMENT  BYTE PUBLIC 'CODE'
  12.          ASSUME   CS:_TR_HEXP_TEXT
  13. ;-------------------------------------
  14. ;
  15. ; SYNTAX:  __tr_hexprint(i, n);
  16. ;
  17. ;          void __tr_hexprint();
  18. ;              int  i;
  19. ;              int  n;
  20. ;
  21. ; Prints i with n hexadecimal digits.
  22. ;--------------------
  23. __TR_HEXPRINT PROC FAR
  24.         PUSH    BP
  25.         MOV     BP,SP
  26.         PUSH    CX
  27.         MOV     AX,[BP+6]  ; Pick up number to print
  28.         MOV     CX,[BP+8]
  29.         CMP     CX,2       ; Only two digits?
  30.         JNZ     HEXCNVT2   ; No, we're OK.
  31.         XCHG    AH,AL      ; Yes, switch AH and AL
  32. HEXCNVT2:
  33.         ROL     AX,1
  34.         ROL     AX,1
  35.         ROL     AX,1
  36.         ROL     AX,1
  37.         PUSH    AX
  38.         AND     AX,000FH
  39.         ADD     AL,90H
  40.         DAA
  41.         ADC     AL,40H
  42.         DAA
  43.         MOV     AH,0EH
  44.         INT     10H
  45.         POP     AX
  46.         LOOP    HEXCNVT2
  47.         POP     CX
  48.         POP     BP
  49.         RET
  50. __TR_HEXPRINT ENDP
  51. ;--------------------------------------------
  52. _TR_HEXP_TEXT   ENDS
  53. ;********************************************
  54.         END
  55.  
  56.